Memory Game

Game Behavior

Criteria Meet Specification

Memory Game Logic

The game randomly shuffles the cards. A user wins once all cards have successfully been matched.

Congratulations Popup

When a user wins the game, a modal appears to congratulate the player and ask if they want to play again. It should also tell the user how much time it took to win the game, and what the star rating was.

Restart Button

A restart button allows the player to reset the game board, the timer, and the star rating.

Star Rating

The game displays a star rating (from 1 to at least 3) that reflects the player's performance. At the beginning of a game, it should display at least 3 stars. After some number of moves, it should change to a lower star rating. After a few more moves, it should change to a even lower star rating (down to 1).

The number of moves needed to change the rating is up to you, but it should happen at some point.

Timer

When the player starts a game, a displayed timer should also start. Once the player wins the game, the timer stops.

Move Counter

Game displays the current number of moves a user has made. Moves can be either every attempted match, or every time a card is flipped (creating two moves per turn, for example).

Interface Design

Criteria Meet Specification

Styling

Application uses CSS to style components for the game.

Usability

All application components are usable across modern desktop, tablet, and phone browsers.

Documentation

Criteria Meet Specification

README

A README file is included detailing the game and all dependencies.

Comments

Comments are present and effectively explain longer code procedure when necessary.

Code Quality

Code is formatted with consistent, logical, and easy-to-read formatting as described in the Udacity JavaScript Style Guide.